package mysql

import (
	"e_mall_server/models"
	"go.uber.org/zap"
)

/**
 * @Author: zhaobin
 * @Description TODO
 * @Date: 2022-05-09 21:12
 */

// GetGoodsCateAttributeListByCateId 获取分类参数列表接口
func GetGoodsCateAttributeListByCateId(cateId int64) ([]models.GoodsCateAttribute, error) {
	var goodsCateAttributeList []models.GoodsCateAttribute
	if err := db.Where("cate_id = ?", cateId).Preload("GoodsCate").Find(&goodsCateAttributeList).Error; err != nil {
		return nil, err
	}
	return goodsCateAttributeList, nil
}

// AddGoodsCateAttribute 添加分类参数信息
func AddGoodsCateAttribute(goodsCateAttribute *models.GoodsCateAttribute) error {
	zap.L().Debug("mysql.AddGoodsCateAttribute()", zap.Any("分类参数信息", goodsCateAttribute))
	// 进行数据库添加操作
	return db.Create(goodsCateAttribute).Error
}

// UpdateGoodsCateAttribute 修改分类参数信息
func UpdateGoodsCateAttribute(goodsCateAttribute *models.GoodsCateAttribute) int64 {
	// 进行数据库修改操作
	return db.Debug().Model(&goodsCateAttribute).Updates(&goodsCateAttribute).RowsAffected
}

// DeleteGoodsCateAttributeById 通过分类参数id删除分类参数数据
func DeleteGoodsCateAttributeById(id int64) int64 {
	return db.Delete(&models.GoodsCateAttribute{Id: id}).RowsAffected
}

// GetGoodsCateAttributeDetailById 通过分类参数id获取分类参数详细信息
func GetGoodsCateAttributeDetailById(id int64) (goodsCateAttribute models.GoodsCateAttribute, err error) {
	goodsCateAttribute.Id = id
	err = db.Where("id = ?", id).Find(&goodsCateAttribute).Error
	return
}
